package com.cobra.provider;

import com.cobra.framework.Protocol;
import com.cobra.framework.ProtocolFactory;
import com.cobra.framework.URL;
import com.cobra.framework.protocol.http.HttpProtocol;
import com.cobra.framework.protocol.http.HttpServer;
import com.cobra.framework.register.LocalRegister;
import com.cobra.framework.register.RemoteMapRegister;
import com.cobra.provider.api.HelloService;
import com.cobra.provider.impl.HelloServiceImpl;

public class Provider {
    public static void main(String[] args) {
        //本地信息注册，保存的是接口和实现类的对应关系
        LocalRegister.regist(HelloService.class.getName(), HelloServiceImpl.class);
        //注册中心注册
        //注册的是端口信息，即服务保存在了哪些主机上面
        URL url = new URL(args[0], Integer.valueOf(args[1]));
        RemoteMapRegister.regist(HelloService.class.getName(), url);
        //启动

        String hostname = url.getHostname();
        Integer port = url.getPort();
        System.out.println(String.format("服务启动 主机 %s 端口 %s", hostname, port));
        Protocol protocol = ProtocolFactory.getProtocol();
        protocol.start(url);
    }
}
